﻿using System;
using Dexter.Logger.Contracts;

namespace Dexter.Logger.Log4Net {
	public class ThreadContextStack : IContextStack {
		public log4net.Util.ThreadContextStack Log4NetStack { get; set; }

		public ThreadContextStack ( log4net.Util.ThreadContextStack log4NetStack ) {
			Log4NetStack = log4NetStack;
		}

		public void Clear ( ) {
			this.Log4NetStack.Clear ( );
		}

		public string Pop ( ) {
			return this.Log4NetStack.Pop ( );
		}

		public IDisposable Push ( string message ) {
			return this.Log4NetStack.Push ( message );
		}

		public int Count {
			get {
				return this.Log4NetStack.Count;
			}
		}
	}


}
